// 消息处理工具函数

/**
 * 格式化API返回的message字段
 * @param message 字符串或字符串数组
 * @returns 格式化后的字符串
 */
export function formatMessage(message: string | string[]): string {
  if (!message) return ''

  if (Array.isArray(message)) {
    // 如果是数组，将所有消息用换行符连接
    return message.filter((msg) => msg && msg.trim()).join('\n')
  }

  return message.toString()
}

/**
 * 获取第一个错误消息（用于简单显示）
 * @param message 字符串或字符串数组
 * @returns 第一个非空消息
 */
export function getFirstMessage(message: string | string[]): string {
  if (!message) return ''

  if (Array.isArray(message)) {
    const firstNonEmpty = message.find((msg) => msg && msg.trim())
    return firstNonEmpty || ''
  }

  return message.toString()
}

/**
 * 获取所有错误消息的数组
 * @param message 字符串或字符串数组
 * @returns 消息数组
 */
export function getMessageArray(message: string | string[]): string[] {
  if (!message) return []

  if (Array.isArray(message)) {
    return message.filter((msg) => msg && msg.trim())
  }

  return [message.toString()].filter((msg) => msg.trim())
}
